DJI SOS — Lizenz, Danksagungen und Quellcode
============================================

DJI SOS: Copyright (C) 2026 Hansley. GPL-3.0-or-later.
Freie Software, die unter der GNU GPL Version 3 oder neuer weitergegeben
und verändert werden darf, ohne Gewährleistung. Vollständiger Lizenztext:
LICENSE; Einzelheiten auf Englisch: LICENSING.en.md.

Der vollständige Quellcode ist offline über das Menü Hilfe unter
„Vollständigen Quellcode anzeigen…“ verfügbar. Die ZIP-Datei liegt im Ordner
SourceCode in den Ressourcen der Anwendung. Sie enthält den bearbeitbaren
Swift-Code, Skripte, die exakten Quellen der Drittanbieter, deren Lizenzen und
Build-Rezepte. Siehe REBUILD.en.md (Englisch) in diesem Archiv.
Neun alte, unbenutzte, vorkompilierte MATLAB-Module wurden aus dem
libvmaf-Archiv entfernt; Quellcode, Lizenzen und Build-Skripte bleiben
erhalten. Die Änderung und die ursprüngliche Upstream-Prüfsumme sind dokumentiert.

DJI SOS verarbeitet Videos lokal. Die Werkzeuge werden als lokale Prozesse
gestartet. Auch der Profilkatalog stammt aus den Tabellen von djifix und wird
direkt von der Swift-Engine verwendet. Zum Reparieren eines Videos sind weder
eine Verbindung noch Homebrew oder Python erforderlich.

djifix
------
Copyright (c) 2014–2026 Live Networks, Inc.
Version 2026-10-31; GPL-3.0-or-later.
Offizielles Projekt: https://djifix.live555.com/
Vollständiger, unveränderter C-Quellcode: ThirdParty/djifix/djifix.c.
Lizenz: ThirdParty/djifix/COPYING.GPLv3.
Die Profile in Resources/Profiles sind von diesem GPLv3+-Quellcode
abgeleitet. Extraktion und Ausschlüsse sind in Scripts/generate_profiles.py
festgehalten.
Kompilierung: Apple clang, -O2 -arch arm64 -mmacosx-version-min=15.0.

untrunc
-------
Copyright 2010 Federico Ponchio und Mitwirkende; GPL-2.0-or-later.
Ursprüngliches Projekt: https://github.com/ponchio/untrunc
Von anthwlock gepflegter Fork: https://github.com/anthwlock/untrunc
Commit: 9d86ec9ef2ffed1bf8131abe80742c0574db52b6
Vollständiger Quellcode: ThirdParty/untrunc/untrunc-source.tar.gz.
Enthält von AtomicParsley abgeleiteten Code: Copyright 2006 puck_lock,
GPL-2.0-or-later (src/AP_AtomDefinitions.h im Quellcodearchiv).
Detaillierte Hinweise bleiben in den Kopfzeilen der einzelnen Quelldateien erhalten.
Lokale Kompilierung: Apple clang++, C++17, arm64, macOS 15.0,
mit FFmpeg 8.1. Befehle und Ausgabe: ThirdParty/tool-build-commands.json
und ThirdParty/tool-build.log. Keine Änderung des Upstream-Quellcodes.

FFmpeg und ffprobe
------------------
FFmpeg-Entwickler und Mitwirkende. https://ffmpeg.org/
Version 8.1, Homebrew-Paket 8.1_1, arm64; dieser Build steht unter
GPL-3.0-or-later mit --enable-gpl --enable-version3. Exakte Quelle:
ffmpeg-8.1.tar.xz. Die vier GPL/LGPL-Texte, LICENSE.md, das Rezept, der
Build-Beleg und das SPDX-Inventar liegen in ThirdParty/libraries/ffmpeg-8.1_1/.
Die tatsächlich verwendeten configure-Optionen stehen in ThirdParty/ToolsSmokeTests.json.
Diese Software beruht zum Teil auf der Arbeit der Independent JPEG Group.
This software is based in part on the work of the Independent JPEG Group.

Weitergegebene Bibliotheken, die nicht zum System gehören
---------------------------------------------------------
Komponente        Version   Upstream-Lizenz
dav1d             1.5.3     BSD-2-Clause
LAME              3.100     LGPL-2.0-or-later
libvmaf           3.1.0     BSD-2-Clause-Patent
libvpx            1.16.0    BSD-3-Clause
OpenSSL           3.6.2     Apache-2.0
Opus              1.6.1     BSD-3-Clause
SVT-AV1           4.1.0     BSD-3-Clause und Teile unter BSD-2-Clause
x264              r3222     GPL-2.0-or-later
x265              4.2       GPL-2.0-or-later

Jeder Ordner ThirdParty/libraries/ bewahrt die ursprünglichen Hinweise,
Copyright-Vermerke, Lizenzen, verfügbaren Autorenlisten, das genaue
Homebrew-Rezept, den Build-Beleg und das SPDX-Inventar auf. Die vollständigen
Archive in der Quellcode-ZIP bewahren auch die internen Lizenzen der Dateien
und Unterprojekte. Homebrew und seine Rezepte stehen unter BSD-2-Clause; die
Lizenz liegt in ThirdParty/Homebrew-LICENSE.txt. Es handelt sich um
Build-Rezepte; Anwender benötigen Homebrew nicht als Abhängigkeit der App.

Quellen und Änderungen
----------------------
ThirdParty/CorrespondingSources/manifest.json in der ZIP-Datei ordnet jeder
Quelle ihre Version, URL, SHA-256-Prüfsumme und Binärdateien zu. Die
Upstream-Archive der neun Releases wurden anhand der SHA-256-Prüfsummen in
den aufbewahrten Rezepten geprüft. Für x264 bleiben der genaue Git-Commit
und die nötigen Versionsinformationen erhalten. djifix und untrunc sind
ebenfalls enthalten. Das libvmaf-Archiv ist die oben beschriebene,
dokumentierte Variante, aus der neun unbenutzte MATLAB-Module entfernt
wurden. Die Metadaten unterscheiden zwischen der ursprünglichen
Upstream-Prüfsumme und der Prüfsumme des bereinigten Archivs.

Das LAME-Rezept entfernt lame_init_old aus include/libmp3lame.sym; diese
Änderung ist in REBUILD-DEPENDENCIES.md dokumentiert. Die anderen
aufbewahrten Rezepte wenden keine Patches auf den Code dieser Releases an.

package_tools.py kopiert die Binärdateien, ersetzt systemfremde Pfade durch
@loader_path, entfernt rpaths des Build-Rechners und signiert die Kopien ad hoc.
Scripts/notarize_release.py ergänzt für den direkten Vertrieb Developer-ID-
Signaturen mit Zeitstempel. build.sh stellt den Code in Contents/Helpers und
Contents/Frameworks zusammen, den Katalog in Contents/Resources/Profiles.
Diese Mach-O-Änderungen sind die einzigen zusätzlichen Änderungen an den
Homebrew-Binärdateien; keine Systeminstallation wird verändert.
Resources/ToolsManifest.json dokumentiert den Abhängigkeitsgraphen, die
ursprünglichen und eingebetteten Prüfsummen, Architekturen und Zielsysteme.

Das Paket enthält 21 Mach-O-Dateien mit insgesamt 39.406.880 Bytes.
Apple-Bibliotheken und -Frameworks werden weiterhin von macOS bereitgestellt.

Diese Ausgabe ist für Apple Silicon (arm64), macOS 15.0 oder neuer bestimmt.
Die Komponenten dieses Pakets sind mit Developer ID und sicheren
Zeitstempeln signiert. Der endgültige Beglaubigungsstatus ist im
Vertriebsordner dokumentiert.

DJI SOS ist eine unabhängige Anwendung und vertritt DJI nicht.
Die verteilten Quellen enthalten keine persönlichen Videodateien.
